package com.naiterui.ehp.bs.cms.modules.oms.feign;

import java.util.List;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import com.naiterui.ehp.bp.bo.b2c.order.ReturnOrderBO;
import com.naiterui.ehp.bp.support.config.FeignConfiguration;
import com.naiterui.ehp.bp.support.exception.BusinessException;

/**
 * @Description 退、换、补寄商品远程调用
 * @Author gongbaoqiang
 * @Date 2019-09-29 11:25 AM
 */
@RequestMapping("/inner/cms/return/orders")
@FeignClient(name = "returnOrder", url = "${ehp.domain.b2c}", configuration = FeignConfiguration.class)
public interface IReturnOrderFeginClient {

    /**
     * <pre>保存退货订单</pre>
     *
     * @param bo
     *
     * @throws BusinessException
     */
    @PostMapping("save")
    void saveReturnOrder(@RequestBody ReturnOrderBO bo) throws BusinessException;


    /**
     * <pre>批量审核</pre>
     *
     * @param ids
     *
     * @throws BusinessException
     */
    @PostMapping("audit")
    void audit(@RequestBody List<Long> ids) throws BusinessException;

    /**
     * <pre>批量反审</pre>
     *
     * @param ids
     *
     * @throws BusinessException
     */
    @PostMapping("reset")
    void reset(@RequestBody List<Long> ids) throws BusinessException;

    /**
     * <pre>批量提交</pre>
     *
     * @param ids
     *
     * @throws BusinessException
     */
    @PostMapping("submit")
    void submit(@RequestBody List<Long> ids) throws BusinessException;

    /**
     * <pre>批量作废</pre>
     *
     * @param ids
     *
     * @throws BusinessException
     */
    @PostMapping("invalid")
    void invalid(@RequestBody List<Long> ids) throws BusinessException;

    /**
     * <pre>批量确认收货</pre>
     *
     * @param ids
     *
     * @throws BusinessException
     */
    @PostMapping("confirm")
    void confirm(@RequestBody List<Long> ids) throws BusinessException;

}
